Message content is normally sent in a form that can be interpreted and rendered by a variety of different programs. For example, there are many different e-mail programs, all of which can process messages sent in a variety of formats. Most e-mail programs can process e-mail in a simple text format, a Hypertext Markup Language (HTML) format, etc. While programs may have their own individual ways of rendering message content, they generally provide a predictable, and relatively uniform, user experience. For example, most e-mail programs will recognize an HTML hyperlink and will render the text associated with the link underlined and in a colored font, and this style is generally followed regardless of the particular e-mail program being used.
While e-mail programs, and other messaging programs, may provide a predictable user experience with most types of content, there are certain enhancements to the user experience that can be implemented if the messaging program is familiar with the content. For example, the presence of certain text, links, tags, etc., in an e-mail message might signal the program to behave in some way that goes beyond the general functionality expected of an e-mail program. A problem that arises is that, when one sends a message, one normally does not know what program is going to be used to view the message. Thus, if one creates, say, an e-mail message that is designed to take advantage of a particular e-mail program's capabilities, there is a possibility that the recipient is using that particular program to view the message and thus would experience the capabilities provided by that program. On the other hand, if the recipient views the message with a different e-mail program, then the user experience could be provided only through the e-mail program's general capabilities.